package com.hfuu.service.activity;

import com.github.pagehelper.PageInfo;
import com.hfuu.exceptions.ServiceExceptionSpec;
import com.hfuu.service.activity.request.ActivityRequest;
import com.hfuu.service.activity.request.PayRequest;
import com.hfuu.service.activity.request.PublishActivityRequest;
import com.hfuu.service.activity.response.ActivityDetailResponse;
import com.hfuu.service.activity.response.ActivitySubjectResponse;
import com.hfuu.service.activity.response.PersonFunResponse;

import java.util.List;

public interface ActivityService {

    PageInfo listActivity(ActivityRequest request) throws ServiceExceptionSpec;

    List<ActivitySubjectResponse> listActivitySubject(ActivityRequest request);

    Integer insertOrUpdateActivity(PublishActivityRequest request) throws ServiceExceptionSpec;

    Integer deleteActivityById(ActivityRequest request) throws ServiceExceptionSpec;

    List<ActivityDetailResponse> listActivityDetail(ActivityRequest request) throws ServiceExceptionSpec;

    Integer updateActivityDetail(ActivityRequest request) throws ServiceExceptionSpec;

    //报名参加活动
    Boolean attendActivity(ActivityRequest request) throws ServiceExceptionSpec;

    /**
     * 更新募捐金额
     * @param request
     */
    Boolean updateFunMoney(PayRequest request) throws ServiceExceptionSpec;

    Boolean attendFunActivity(ActivityRequest request) throws ServiceExceptionSpec;

    List<PersonFunResponse> getPersonFun(PayRequest request) throws ServiceExceptionSpec;
}
